% -- Preparando o Ambiente de Desenvolvimento
\chapter{Preparando o Ambiente de Desenvolvimento}

\section{Introdução}

O desenvolvimento de aplicativos para a plataforma Android é feito na linguagem Java.
Para esta apostila serão utilizados os seguintes aplicativos e bibliotecas:

% -- TODO: procurar como configurar o mesmo bullet pra todos os itens
\begin{itemize}
\item Ubuntu 10.04
\item Java JDK 6
\item Android SDK
\item Android 2.2 API 8
\item Eclipse Indigo
\item ADT Plugin
\end{itemize}

Você pode estar se perguntando: "Por que utilizar essa configuração?". Bom, para começar
um ambiente de desenvolvimento precisa ser estável, e para isso nada melhor que o
\url{http://releases.ubuntu.com/lucid/} (Ubuntu 10.04).

A IDE Eclipse funciona independente do sistema operacional, então podemos utilizar a versão
mais recente. O mesmo para o plugin ADT (Android Development Tools).

Usaremos especificamente para os exemplos a seguir a versão 2.2 do Android. Essa API é uma
ótima escolha inicial, pois é a mais utilizada pelos aparelhos mais simples que rodam Android.
É claro que você poderá instalar outras versões e compilar seus aplicativos para \textit{tablets}, etc.

\section{Instalação}

Toda a instalação será baseada no Ubuntu 10.04. Isso quer dizer que alguns passos podem ou não
funcionar em outras distribuições. Nada que uma busca na internet não possa lhe ajudar.

\subsection{Java JDK 6}

A instalação do Java no Ubuntu 10.04 é bastante simples. Você apenas irá precisar habilitar repositório
de terceiros, ou \textit{Partner}. Isso pode ser feito através do aplicativo \textit{Synaptic}. No menu
principal do Ubuntu clique em \texttt{Sistema $\rightarrow$ Administração $\rightarrow$ Gerenciador de pacotes
Synaptic}.

No menu do Synaptic clique em \texttt{Configuração $\rightarrow$ Repositórios}. Na aba \texttt{Outro Software}
temos vários itens que representam repositórios. Marque os dois repositórios que terminam com \texttt{partner}.
Feche e depois clique em \texttt{Editar $\rightarrow$ Recarregar informações dos pacotes} ou simplesmente
\texttt{Ctrl + R}.

Após a atualização dos pacotes existentes nos repositórios já é possível encontrar o Java JDK 6.
No campo de \texttt{Pesquisa rápida} digite: \texttt{sun-java6}. Clique com botão direito no pacote
\texttt{sun-java6-jdk} e selecione a opção \texttt{Marcar para instalação}. Depois basta \texttt{Aplicar}
as mudanças. Para isso clique em \texttt{Editar $\rightarrow$ Aplicar as alterações marcadas} ou \texttt{Ctrl + P}.

Segundo a página de Requerimentos do Sistema (\url{http://developer.android.com/sdk/requirements.html})
do site oficial do Android, é necessário uso do Java 6. Caso você queira utilizar o Java 7, você
terá que configurar seu projeto Android para ser compilado com suporte a versão 6.

\subsection{Android SDK \label{ssec:sdk}}

Para o Android SDK comece pelo \textit{download} \url{http://developer.android.com/sdk/index.html}.

A instalação é feita apenas colocando o SDK em um diretório do sistema. Existem 2 bons locais para
abrigar bibliotecas no Linux, são elas: \texttt{/opt} e \texttt{/usr/local/lib}. Nesse exemplo vamos
utilizar este último. Abra um terminal e vamos aos comandos.

Se você baixou o SDK para seu diretório \textit{Downloads}, proceda da seguinte maneira:

\medskip

\begin{flushleft}
\texttt{\$ cd /home/usuario/Downloads \\
\$ tar -xf android-sdk\b{ }r18-linux.tgz \\
\$ sudo su \\
\# mv android-sdk-linux /usr/local/lib \\
\# cd /usr/local/lib \\
\# ln -s android-sdk-linux android-sdk \\
\# cd android-sdk/tools \\
\# ln -s android /usr/local/bin/android \\
}
\end{flushleft}

\paragraph{Obs.:} troque \texttt{usuario} na primeira linha pelo seu \textit{login} do sistema.

\subsubsection{Um pouco de Linux}

Para quem não está familiarizado com o ambiente Linux vamos a uma pequena explicação. Nos comandos
acima aparecem dois caracteres que não devem ser escritos mas que representam algo importante no âmbito
dos comandos, são eles \texttt{\$} e \texttt{\#}. Estes caracteres indicam qual o nível do usuário;
\texttt{\$} significa usuário comum, \texttt{\#} representa super usuário (\texttt{root}). No comando
\texttt{sudo su} é onde trocamos de usuário comum para super usuário. Neste momento você terá que entrar
com sua senha de \textit{login}.

Dê atenção ao uso do comando \texttt{ln}. Ele é responsável por criar \textit{links} simbólicos. Isso é
muito útil quando se instala um aplicativo ou biblioteca, pois proporciona atualização sem que
outros ajustes sejam feitos. Neste caso basta \textit{linkar} outra vez e pronto.

Note que no último comando temos um link simbólico para o diretório \texttt{/usr/local/bin}. É
nele que colocamos os executáveis globais, ou seja, que são vistos a partir de qualquer outro
diretório. Agora saindo do modo \textit{root} e usando seu próprio usuário instalaremos a API.

\subsection{Android 2.2 API 8}

Ainda no terminal, agora como usuário comum, vamos abrir o aplicativo que instala qualquer uma
das API disponibilizadas pelo Android.

\medskip

\begin{flushleft}
\texttt{\$ android}
\end{flushleft}

\medskip

O aplicativo \texttt{Android SDK and AVD Manager} irá aparecer. Clique em \texttt{Avaliable packages}
e procure pela versão 2.2 API 8 do Android. Selecione e clique em \texttt{Install Selected}. Após
o download você pode verificar a versão instalada em \texttt{Installed packages}, um dos itens é
algo como \texttt{SDK Plataform Android 2.2, API 8, revision 2}.

Se você quiser aproveite para baixar outras versões para utilizar em projetos futuros.

\subsection{Android Virtual Device (AVD)}

Vamos aproveitar e criar nosso AVD para testar pela primeira vez nosso emulador. Ainda no
\texttt{Android SDK and AVD Manager} clique em \texttt{Virtual devices}, depois em \texttt{New...}

Dê um nome. Você pode usar qualquer nomenclatura, mas é interessante que tenha algo haver com a versão. Assim,
caso você tenha que testar seu código em outras versões você poderá saber qual emulador utilizar. Por
exemplo use \texttt{android-2.2}. Em \texttt{Target} escolha a versão, neste caso
\texttt{Android 2.2 - API Level 8}. Pronto, apenas clique em \texttt{Create AVD}.

Em relação as outras opções esteja a vontade para modificá-las. Provavelmente uma delas você terá que
modificar, a \texttt{Skin}. Ele indica qual a resolução da tela do aparelho. Como não é possível
redimensionar a janela, em alguns monitores a janela fica maior que a tela do seu monitor.

\subsection{Eclipse Indigo}

A IDE Eclipse pode ser encontrada em \url{http://www.eclipse.org/downloads/}. Para o desenvolvimento
de aplicativos para o Android a versão \texttt{Eclipse IDE for Java Developers} é ideal. Mas se você
tiver interesse em aplicativos Java para Web a opção é baixar a versão \texttt{Eclipse IDE for Java EE Developers}.

Em todo caso as duas vão servir para o desenvolvimento, pois ambas vem com suporte a Java.

O Eclipse não possui instalador, no caso ele já vem pré-compilado. Basta apenas descompactar e executar
o arquivo \texttt{eclipse}.

Para sua comodidade você pode adicionar o Eclipse no menu do Ubuntu. Isso pode ser feito apenas clicando
com o botão direiro do \textit{mouse} no menu principal e escolhendo a opção \texttt{Editar menus}. Ou você pode
usar a dica do blog MAD3 Linux \\ (\url{http://www.mad3linux.org}) - \url{http://va.mu/VSgR}. Essa dica irá
lhe mostrar como adicionar um item ao menu visível a todos os usuários.

\subsection{Plugin ADT}

Para a instalação do plugin ADT vamos abrir o Eclipse, e em seu menu selecione \texttt{Help $\rightarrow$
Install New Software...}

Depois cliquem em \texttt{Add} do lado direito superior. A janela \texttt{Add Repository} aparecerá,
agora basta digitar \texttt{ADT Plugin} em \texttt{Name} e a \textit{url}
\url{https://dl-ssl.google.com/android/eclipse/} em \texttt{Location}. Clique em \texttt{Ok}.

Verifique se o campo \texttt{Work with} está apontando para o plugin ADT. Caso positivo espere até que
o Eclipse baixe os dados referentes a instalação do mesmo. Daí, basta marcar a opção
\texttt{Developer Tools} e clicar em \texttt{Next}. O Eclipse irá pedir confirmação sobre os itens
a serem instalados, clique novamente em \texttt{Next}. Agora basta aceitar os termos de uso e clicar em
\texttt{Finish}. Após o download e a instalação, reinicie o Eclipse.

\subsubsection{Configurando o ADT}

Agora que o plugin foi instalado temos que dizer ao Eclipse onde nós instalamos o Android SDK. Isso
pode ser feito clicando no menu \texttt{Window $\rightarrow$ Preferences}. Selecione \texttt{Android} no painel
lateral esquerdo. Em \texttt{SDK Location} clique em \texttt{Browse...} e indique o diretório do SDK,
caso não lembre, ele está em \texttt{/usr/local/lib/android-sdk}. Clique em \texttt{Apply} na parte inferior
direita para atualizar a lista de API's disponíveis.

Caso você tenha mais dúvidas dê uma olhada na página oficial de instalação do plugin ADT localizada em
\url{http://developer.android.com/sdk/eclipse-adt.html}.

\subsubsection{Testando o ADT \label{sssec:testando}}

Para testar o \texttt{Android Development Tools} ou ADT crie um projeto Android. No menu do Eclipse selecione
\texttt{File $\rightarrow$ New $\rightarrow$ Project...}

Selecione \texttt{Android Project} e clique em \texttt{Next}. Digite o nome do seu projeto e clique em
\texttt{Next}. Neste ponto temos que escolher qual a plataforma que nosso projeto será criado. Como foi
decidido antes usaremos a versão 2.2 API 8. Caso você tenha baixado outras API's certifique-se de que
a versão está correta.

Agora precisamos dizer o nome da aplicação, ou seja, o nome que será visível ao usuário. O nome do pacote
você pode usar a nomenclatura \texttt{nome\b{ }aplicativo.app}. Depois ele pergunta se você deseja
criar sua primeira \texttt{Activity}, caso positivo dê um nome a ela, por exemplo \texttt{MainActivity}.
E por último vem a versão mínima do SDK, neste caso já está configurada como \texttt{8}. Basta clicar
em \texttt{Finish}.

Após isso clique com botão direito do \textit{mouse} no projeto recem criado, e \texttt{Run As $\rightarrow$
Android Application}. Se tudo tiver dado certo é possível ver no emulador sua primeira aplicação
rodando.

\paragraph{Dica:} uma vez que você abriu o emulador não o feche. Você irá notar que ao abrir
pela primeira vez ele leva um tempo para isso. Neste caso ao atualizar o código-fonte apenas
rode o aplicativo novamente. O plugin ADT fará com que o aplicativo seja reinstalado no emulador.